Skip to content

1、为什么设计成线程安全?

不同协程通过 channel 进行通信,本身的使用场景就是多线程,为了保证数据的一致性,必须实现线程安全

2、如何实现线程安全的?

channel 的底层实现中,hchan 结构体中采用 Mutex 锁来保证数据读写安全。在对循环数组 buf 中的数据进行入队和出队操作时,必须先获取互斥锁,才能操作 channel 数据

木川工作室 (微信:mcmc2024)